As computers become more commonplace in today's society, there is an ever increasing need for the storage of very large amounts of data and the fast access of such stored data. Several types of large capacity storage appliances have thus been developed. Examples of a high-capacity data storage system involve physical tape drive systems, large capacity optical storage systems; read only memory (ROM) systems, random access memory (RAM) systems, flash memory systems, and the like. These storage devices may be grouped together physically (such as in large storage appliances) or virtually over a network (such as in a storage area network (SAN) appliances or network attached storage (NAS) appliances). In physically connected storage appliances, one or more compute devices or applications connect directly to the storage appliance to store and retrieve data. Virtual storage appliances are generally accessed remotely through a network to store and retrieve data utilized by executing applications. In any storage appliance, there are often trade-offs between performance speed, storing capacity, and speed of retrieval of the data that a compute device or user of the storage appliance must consider when selecting a particular storage appliance to utilize. In addition to performance and capacity trade-offs within an appliance, network connections, transmission speeds, and connectivity between an application and the storage device may also be considered when selecting a storage appliance for use during execution of the application.
It is with these and other issues in mind that various aspects of the present disclosure were developed.